import Vue, { nextTick } from 'vue'
import VueRouter from 'vue-router'
import Verted from '../views/verted'
// 这里注释的进行了路由懒加载
// import Conter from '../views/conter'
// import Films from '../views/films'
import Datail from '../views/datail'
import Entey from '../views/Login/Entey'
import Login from '../views/Login/login'
import Comingsoon from '../views/films/Comingsoon'
import Nowplaying from '../views/films/Nowplaying'

import astest from '../components/astest.vue'
import indexbar from '../views/interior/IndexBar'
import cinema from '../views/interior/cinema'
import user from '../views/user/user'
import search from '../views/interior/search'
Vue.use(VueRouter) // 路由的注册   并定义两个全局标签 <router-view>,<router-link>

// 路由表的定义
const routes = [
  {
    path: '/verted',
    component: Verted,
    children:[
       // 手机影院-我的部分
      {
        path: '/verted/cinema',
        component: cinema
      },
      {
        path: '/verted/user',
        component: user
      },
      {
        path: '/verted/indexbar',
        component: indexbar
      },
      {
        path: '/verted/search',
        component: search
      },
      // 二次重定向
      {
        path: '/verted',
        redirect: '/verted/cinema'
      },
    ]
  },
  {
    path: '/conter',
    component: () => import('../views/conter')
  },
  {
    path: '/films',
    component: () => import('../views/films'),
    // 嵌套路由，
    children: [
      {
        path: '/films/nowplaying',
        component: Nowplaying
      },
      {
        path: '/films/comingsoon',
        component: Comingsoon
      },
      // 二次重定向，网址为/films时再次重定向
      {
        path: '/films',
        redirect: '/films/nowplaying'
      }
    ]
  },
  {
    // :自定义名；这是一个二级动态域名；myid可以看做一个变量记录参数，通过this.$route查看
    path: '/datail/:myid',
    // 命名路由，这样可通过名字找到
    name: 'mydatail',
    component: Datail
  },
  {
    path: '/login',
    component: Login,
    meta: {
      islogin: true
    }
  },
  {
    path: '/entey',
    component: Entey
  },
  {
    path: '/astest/:id',
    component: astest
  },
  // 重定向，匹配优先级最低, *：任意匹配
  {
    path: '*',
    redirect: '/verted'
  }

]

const router = new VueRouter({
  // mode控制路由模式；  'history' --  可以去掉#号；该模式下需要后端的配置，详情查看API
  // mode: 'history',
  // base: process.env.BASE_URL,
  routes
})

// 全局拦截.  参数=> to：到那个地址去； from：从哪个地址来;  next表示一个函数--放行
// 案例-模拟登陆
router.beforeEach((to, from, next) => {
  // console.log(to)
  // next()
  // if(to.fullPath === '/login')
  // islogin -- 在上面自定义的
  if (to.meta.islogin) { // 是否要进行登录相关的处理
    // console.log("001",to);
    if (localStorage.getItem('acc')) { //  是否登录成功
      next() // 放行
    } else {
      // next('/entey');   // 跳转到登录页面
      next({
        path: '/entey',
        // myurl--自定义名；query将以get方式记录的是从那个页面跳转到'entey'页面的，动态的
        query: { myurl: to.fullPath }
      })
    }
  } else {
    next()
  }
})

export default router
